The present invention relates generally to circuit board intercommunication. More particularly, the present invention relates to detecting collisions over a differential bus in an electronic assembly.
Backplane communication links can be very capacitive. A single ended transceiver that is capable of transmitting/receiving over a capacitive backplane may not be able to achieve the same data rates, reliability and ease of use as industry standard off the shelf differential transceivers. This may require single-ended bus circuits to be either on a single circuit board or a limited number of circuit boards very near each other. Single ended transceivers work well in a low capacitive environment.
One way around the impedance and distance limitations is to use differential transceivers to form a differential bus. Some types of differential transceivers are designed for multipoint data transmission environments and work reliably in the presence of noise. Various types of differential transceivers are available as off the shelf parts and require few external parts to function; this makes them easy to use, reliable and less prone to malfunction. The differential bus allows multiple circuit boards to communicate with each other at various distances that are greater than what could be achieved with a single-ended bus. The drawback to this scheme is that a differential bus does not support collision detection the same way a single-ended bus can. There is a resulting need for a high data rate differential bus that handles multiple circuit boards over long distances and can function over a backplane while still supporting collision detection.
The present invention encompasses collision detection over a differential bus(s). An application module comprising HDLC bus(s) access control logic is implemented in an electronic assembly along with other modules. The application module further comprises a plurality of differential bus transmitters and receivers as well as a data packet controller.
The application module is coupled to a differential bus and collision detection line from a backplane structure. The bus access control logic is coupled to the collision detection line and receives data over this line from a controller module. If the data received on this line is not the same as the data that was transmitted by the application module, a collision has occurred on the differential bus. Depending on the requirements of the pack, if two buses are used there will be connections for two differential buses and two separate single ended collision detection lines.
If a collision is detected on the differential bus, the application module is removed from the bus by the control logic changing the state of the bus transmitters to a high impedance state. The bus access control logic also indicates the collision to the data packet controller (if this type of collision can not be detected by the data packet controller) by pulling a collision detect line into the controller to a low state. The methodology used by the bus access control logic on the application module will depend on the type of differential transceivers used to implement the differential bus and the capabilities of the data packet controller on the application module.